home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1993 April: Penguin on DISC / ADC Developer CD (1993-04) (''Penguin On DISC'')_iso / Dev.CD Apr 93.iso / Utilities / MPW Interfaces 7.1 Beta / CIncludes / Files.h < prev    next >
Encoding:
C/C++ Source or Header  |  1992-08-28  |  48.8 KB  |  1,526 lines  |  [TEXT/MPS ]

  1.  
  2. /************************************************************
  3.  
  4. Created: Friday, September 13, 1991 at 12:35 PM
  5.  Files.h
  6.  C Interface to the Macintosh Libraries
  7.  
  8.  
  9.   Copyright Apple Computer, Inc. 1985-1991
  10.   All rights reserved
  11.  
  12. ************************************************************/
  13.  
  14.  
  15. #ifndef __FILES__
  16. #define __FILES__
  17.  
  18. #ifndef __TYPES__
  19. #include <Types.h>
  20. #endif
  21.  
  22. #ifndef __OSUTILS__
  23. #include <OSUtils.h>
  24. #endif
  25.  
  26. #ifndef __SEGLOAD__
  27. #include <SegLoad.h>
  28. #endif
  29.  
  30.  
  31. enum {
  32.  
  33.  
  34. /* Finder Constants */
  35.  fsAtMark = 0,
  36.  fOnDesk = 1,
  37.  fsCurPerm = 0,
  38.  fHasBundle = 8192,
  39.  fsRdPerm = 1,
  40.  fInvisible = 16384,
  41.  fTrash = -3,
  42.  fsWrPerm = 2,
  43.  fDesktop = -2,
  44.  fsRdWrPerm = 3,
  45.  fDisk = 0,
  46.  fsRdWrShPerm = 4,
  47.  fsFromStart = 1,
  48.  fsFromLEOF = 2,
  49.  fsFromMark = 3,
  50.  rdVerify = 64,
  51.  ioDirFlg = 3,                        /* see IM IV-125 */
  52.  ioDirMask = 0x10,
  53.  fsRtParID = 1,
  54.  fsRtDirID = 2
  55. };
  56. enum {
  57.  
  58. /* CatSearch SearchBits Constants */
  59.  fsSBPartialName = 1,
  60.  fsSBFullName = 2,
  61.  fsSBFlAttrib = 4,
  62.  fsSBFlFndrInfo = 8,
  63.  fsSBFlLgLen = 32,
  64.  fsSBFlPyLen = 64,
  65.  fsSBFlRLgLen = 128,
  66.  fsSBFlRPyLen = 256,
  67.  fsSBFlCrDat = 512,
  68.  fsSBFlMdDat = 1024,
  69.  fsSBFlBkDat = 2048,
  70.  fsSBFlXFndrInfo = 4096,
  71.  fsSBFlParID = 8192,
  72.  fsSBNegate = 16384,
  73.  fsSBDrUsrWds = 8,
  74.  fsSBDrNmFls = 16,
  75.  fsSBDrCrDat = 512,
  76.  fsSBDrMdDat = 1024,
  77.  fsSBDrBkDat = 2048,
  78.  fsSBDrFndrInfo = 4096
  79. };
  80. enum {
  81.  fsSBDrParID = 8192,
  82.  
  83. /* vMAttrib (GetVolParms) bit position constants */
  84.  bLimitFCBs = 31,
  85.  bLocalWList = 30,
  86.  bNoMiniFndr = 29,
  87.  bNoVNEdit = 28,
  88.  bNoLclSync = 27,
  89.  bTrshOffLine = 26,
  90.  bNoSwitchTo = 25,
  91.  bNoDeskItems = 20,
  92.  bNoBootBlks = 19,
  93.  bAccessCntl = 18,
  94.  bNoSysDir = 17,
  95.  bHasExtFSVol = 16,
  96.  bHasOpenDeny = 15,
  97.  bHasCopyFile = 14,
  98.  bHasMoveRename = 13,
  99.  bHasDesktopMgr = 12,
  100.  bHasShortName = 11,
  101.  bHasFolderLock = 10,
  102.  bHasPersonalAccessPrivileges = 9
  103. };
  104. enum {
  105.  bHasUserGroupList = 8,
  106.  bHasCatSearch = 7,
  107.  bHasFileIDs = 6,
  108.  bHasBTreeMgr = 5,
  109.  bHasBlankAccessPrivileges = 4,
  110.  
  111. /* Desktop Database icon Constants */
  112.  kLargeIcon = 1,
  113.  kLarge4BitIcon = 2,
  114.  kLarge8BitIcon = 3,
  115.  kSmallIcon = 4,
  116.  kSmall4BitIcon = 5,
  117.  kSmall8BitIcon = 6,
  118.  
  119.  kLargeIconSize = 256,
  120.  kLarge4BitIconSize = 512,
  121.  kLarge8BitIconSize = 1024,
  122.  kSmallIconSize = 64,
  123.  kSmall4BitIconSize = 128,
  124.  kSmall8BitIconSize = 256,
  125.  
  126. /* Foreign Privilege Model Identifiers */
  127.  fsUnixPriv = 1,
  128.  
  129. /* Version Release Stage Codes */
  130.  developStage = 0x20,
  131.  alphaStage = 0x40
  132. };
  133. enum {
  134.  betaStage = 0x60,
  135.  finalStage = 0x80,
  136.  
  137. /* Authentication Constants */
  138.  kNoUserAuthentication = 1,
  139.  kPassword = 2,
  140.  kEncryptPassword = 3,
  141.  kTwoWayEncryptPassword = 6
  142. };
  143.  
  144. enum {hFileInfo,dirInfo};
  145. typedef unsigned char CInfoType;
  146.  
  147.  
  148. struct FInfo {
  149.  OSType fdType;                        /*the type of the file*/
  150.  OSType fdCreator;                    /*file's creator*/
  151.  unsigned short fdFlags;            /*flags ex. hasbundle,invisible,locked, etc.*/
  152.  Point fdLocation;                    /*file's location in folder*/
  153.  short fdFldr;                        /*folder containing file*/
  154. };
  155.  
  156. typedef struct FInfo FInfo;
  157.  
  158. struct FXInfo {
  159.  short fdIconID;                    /*Icon ID*/
  160.  short fdUnused[3];                    /*unused but reserved 6 bytes*/
  161.  char fdScript;                        /*Script flag and number*/
  162.  char fdXFlags;                        /*More flag bits*/
  163.  short fdComment;                    /*Comment ID*/
  164.  long fdPutAway;                    /*Home Dir ID*/
  165. };
  166.  
  167. typedef struct FXInfo FXInfo;
  168.  
  169. struct DInfo {
  170.  Rect frRect;                        /*folder rect*/
  171.  unsigned short frFlags;            /*Flags*/
  172.  Point frLocation;                    /*folder location*/
  173.  short frView;                        /*folder view*/
  174. };
  175.  
  176. typedef struct DInfo DInfo;
  177.  
  178. struct DXInfo {
  179.  Point frScroll;                    /*scroll position*/
  180.  long frOpenChain;                    /*DirID chain of open folders*/
  181.  char frScript;                        /*Script flag and number*/
  182.  char frXFlags;                        /*More flag bits*/
  183.  short frComment;                    /*comment*/
  184.  long frPutAway;                    /*DirID*/
  185. };
  186.  
  187. typedef struct DXInfo DXInfo;
  188.  
  189. struct GetVolParmsInfoBuffer {
  190.  short vMVersion;                    /*version number*/
  191.  long vMAttrib;                        /*bit vector of attributes (see vMAttrib constants)*/
  192.  Handle vMLocalHand;                /*handle to private data*/
  193.  long vMServerAdr;                    /*AppleTalk server address or zero*/
  194.  long vMVolumeGrade;                /*approx. speed rating or zero if unrated*/
  195.  short vMForeignPrivID;                /*foreign privilege model supported or zero if none*/
  196. };
  197.  
  198. typedef struct GetVolParmsInfoBuffer GetVolParmsInfoBuffer;
  199.  
  200. #define ParamBlockHeader \
  201.  QElemPtr qLink;                    /*queue link in header*/\
  202.  short qType;                        /*type byte for safety check*/\
  203.  short ioTrap;                        /*FS: the Trap*/\
  204.  Ptr ioCmdAddr;                        /*FS: address to dispatch to*/\
  205.  ProcPtr ioCompletion;              /*completion routine addr (0 for synch calls)*/\
  206.  OSErr ioResult;                    /*result code*/\
  207.  StringPtr ioNamePtr;                  /*ptr to Vol:FileName string*/\
  208.  short ioVRefNum;                   /*volume refnum (DrvNum for Eject and MountVol)*/
  209.  
  210.  
  211. struct IOParam {
  212.  ParamBlockHeader 
  213.  short ioRefNum;                    /*refNum for I/O operation*/
  214.  char ioVersNum;                    /*version number*/
  215.  char ioPermssn;                    /*Open: permissions (byte)*/
  216.  Ptr ioMisc;                        /*Rename: new name (GetEOF,SetEOF: logical end of file) (Open: optional ptr to buffer) (SetFileType: new type)*/
  217.  Ptr ioBuffer;                        /*data buffer Ptr*/
  218.  long ioReqCount;                    /*requested byte count; also = ioNewDirID*/
  219.  long ioActCount;                    /*actual byte count completed*/
  220.  short ioPosMode;                    /*initial file positioning*/
  221.  long ioPosOffset;                    /*file position offset*/
  222. };
  223.  
  224. typedef struct IOParam IOParam;
  225.  
  226. struct FileParam {
  227.  ParamBlockHeader 
  228.  short ioFRefNum;                    /*reference number*/
  229.  char ioFVersNum;                    /*version number*/
  230.  char filler1;
  231.  short ioFDirIndex;                    /*GetFInfo directory index*/
  232.  unsigned char ioFlAttrib;            /*GetFInfo: in-use bit=7, lock bit=0*/
  233.  unsigned char ioFlVersNum;            /*file version number*/
  234.  FInfo ioFlFndrInfo;                /*user info*/
  235.  unsigned long ioFlNum;                /*GetFInfo: file number; TF- ioDirID*/
  236.  unsigned short ioFlStBlk;            /*start file block (0 if none)*/
  237.  long ioFlLgLen;                    /*logical length (EOF)*/
  238.  long ioFlPyLen;                    /*physical length*/
  239.  unsigned short ioFlRStBlk;            /*start block rsrc fork*/
  240.  long ioFlRLgLen;                    /*file logical length rsrc fork*/
  241.  long ioFlRPyLen;                    /*file physical length rsrc fork*/
  242.  unsigned long ioFlCrDat;            /*file creation date& time (32 bits in secs)*/
  243.  unsigned long ioFlMdDat;            /*last modified date and time*/
  244. };
  245.  
  246. typedef struct FileParam FileParam;
  247.  
  248. struct VolumeParam {
  249.  ParamBlockHeader 
  250.  long filler2;
  251.  short ioVolIndex;                    /*volume index number*/
  252.  unsigned long ioVCrDate;            /*creation date and time*/
  253.  unsigned long ioVLsBkUp;            /*last backup date and time*/
  254.  unsigned short ioVAtrb;            /*volume attrib*/
  255.  unsigned short ioVNmFls;            /*number of files in directory*/
  256.  unsigned short ioVDirSt;            /*start block of file directory*/
  257.  short ioVBlLn;                        /*GetVolInfo: length of dir in blocks*/
  258.  unsigned short ioVNmAlBlks;        /*GetVolInfo: num blks (of alloc size)*/
  259.  long ioVAlBlkSiz;                    /*GetVolInfo: alloc blk byte size*/
  260.  long ioVClpSiz;                    /*GetVolInfo: bytes to allocate at a time*/
  261.  unsigned short ioAlBlSt;            /*starting disk(512-byte) block in block map*/
  262.  unsigned long ioVNxtFNum;            /*GetVolInfo: next free file number*/
  263.  unsigned short ioVFrBlk;            /*GetVolInfo: # free alloc blks for this vol*/
  264. };
  265.  
  266. typedef struct VolumeParam VolumeParam;
  267.  
  268. struct CntrlParam {
  269.  QElem *qLink;                        /*queue link in header*/
  270.  short qType;                        /*type byte for safety check*/
  271.  short ioTrap;                        /*FS: the Trap*/
  272.  Ptr ioCmdAddr;                        /*FS: address to dispatch to*/
  273.  ProcPtr ioCompletion;                /*completion routine addr (0 for synch calls)*/
  274.  OSErr ioResult;                    /*result code*/
  275.  StringPtr ioNamePtr;                /*ptr to Vol:FileName string*/
  276.  short ioVRefNum;                    /*volume refnum (DrvNum for Eject and MountVol)*/
  277.  short ioCRefNum;                    /*refNum for I/O operation*/
  278.  short csCode;                        /*word for control status code*/
  279.  short csParam[11];                    /*operation-defined parameters*/
  280. };
  281.  
  282. typedef struct CntrlParam CntrlParam;
  283.  
  284. struct SlotDevParam {
  285.  ParamBlockHeader 
  286.  short ioRefNum;
  287.  char ioVersNum;
  288.  char ioPermssn;
  289.  Ptr ioMix;
  290.  short ioFlags;
  291.  char ioSlot;
  292.  char ioID;
  293. };
  294.  
  295. typedef struct SlotDevParam SlotDevParam;
  296.  
  297. struct MultiDevParam {
  298.  ParamBlockHeader 
  299.  short ioRefNum;
  300.  char ioVersNum;
  301.  char ioPermssn;
  302.  Ptr ioMix;
  303.  short ioFlags;
  304.  Ptr ioSEBlkPtr;
  305. };
  306.  
  307. typedef struct MultiDevParam MultiDevParam;
  308.  
  309. union ParamBlockRec {
  310.  IOParam ioParam;
  311.  FileParam fileParam;
  312.  VolumeParam volumeParam;
  313.  CntrlParam cntrlParam;
  314.  SlotDevParam slotDevParam;
  315.  MultiDevParam multiDevParam;
  316. };
  317.  
  318. typedef union ParamBlockRec ParamBlockRec;
  319. typedef ParamBlockRec *ParmBlkPtr;
  320.  
  321. struct HFileInfo {
  322.  ParamBlockHeader 
  323.  short ioFRefNum;
  324.  char ioFVersNum;
  325.  char filler1;
  326.  short ioFDirIndex;
  327.  char ioFlAttrib;
  328.  char filler2;
  329.  FInfo ioFlFndrInfo;
  330.  long ioDirID;
  331.  unsigned short ioFlStBlk;
  332.  long ioFlLgLen;
  333.  long ioFlPyLen;
  334.  unsigned short ioFlRStBlk;
  335.  long ioFlRLgLen;
  336.  long ioFlRPyLen;
  337.  unsigned long ioFlCrDat;
  338.  unsigned long ioFlMdDat;
  339.  unsigned long ioFlBkDat;
  340.  FXInfo ioFlXFndrInfo;
  341.  long ioFlParID;
  342.  long ioFlClpSiz;
  343. };
  344.  
  345. typedef struct HFileInfo HFileInfo;
  346.  
  347. struct DirInfo {
  348.  ParamBlockHeader 
  349.  short ioFRefNum;
  350.  short filler1;
  351.  short ioFDirIndex;
  352.  char ioFlAttrib;
  353.  char filler2;
  354.  DInfo ioDrUsrWds;
  355.  long ioDrDirID;
  356.  unsigned short ioDrNmFls;
  357.  short filler3[9];
  358.  unsigned long ioDrCrDat;
  359.  unsigned long ioDrMdDat;
  360.  unsigned long ioDrBkDat;
  361.  DXInfo ioDrFndrInfo;
  362.  long ioDrParID;
  363. };
  364.  
  365. typedef struct DirInfo DirInfo;
  366.  
  367. union CInfoPBRec {
  368.  HFileInfo hFileInfo;
  369.  DirInfo dirInfo;
  370. };
  371.  
  372. typedef union CInfoPBRec CInfoPBRec;
  373. typedef CInfoPBRec *CInfoPBPtr;
  374.  
  375. struct HIOParam {
  376.  ParamBlockHeader 
  377.  short ioRefNum;
  378.  char ioVersNum;
  379.  char ioPermssn;
  380.  Ptr ioMisc;
  381.  Ptr ioBuffer;
  382.  long ioReqCount;
  383.  long ioActCount;
  384.  short ioPosMode;
  385.  long ioPosOffset;
  386.  short filler1;
  387. };
  388.  
  389. typedef struct HIOParam HIOParam;
  390.  
  391. struct HFileParam {
  392.  ParamBlockHeader 
  393.  short ioFRefNum;
  394.  char ioFVersNum;
  395.  char filler1;
  396.  short ioFDirIndex;
  397.  char ioFlAttrib;
  398.  char ioFlVersNum;
  399.  FInfo ioFlFndrInfo;
  400.  long ioDirID;
  401.  unsigned short ioFlStBlk;
  402.  long ioFlLgLen;
  403.  long ioFlPyLen;
  404.  unsigned short ioFlRStBlk;
  405.  long ioFlRLgLen;
  406.  long ioFlRPyLen;
  407.  unsigned long ioFlCrDat;
  408.  unsigned long ioFlMdDat;
  409. };
  410.  
  411. typedef struct HFileParam HFileParam;
  412.  
  413. struct HVolumeParam {
  414.  ParamBlockHeader 
  415.  long filler2;
  416.  short ioVolIndex;
  417.  unsigned long ioVCrDate;
  418.  unsigned long ioVLsMod;
  419.  short ioVAtrb;
  420.  unsigned short ioVNmFls;
  421.  short ioVBitMap;
  422.  short ioAllocPtr;
  423.  unsigned short ioVNmAlBlks;
  424.  long ioVAlBlkSiz;
  425.  long ioVClpSiz;
  426.  short ioAlBlSt;
  427.  long ioVNxtCNID;
  428.  unsigned short ioVFrBlk;
  429.  unsigned short ioVSigWord;
  430.  short ioVDrvInfo;
  431.  short ioVDRefNum;
  432.  short ioVFSID;
  433.  unsigned long ioVBkUp;
  434.  unsigned short ioVSeqNum;
  435.  long ioVWrCnt;
  436.  long ioVFilCnt;
  437.  long ioVDirCnt;
  438.  long ioVFndrInfo[8];
  439. };
  440.  
  441. typedef struct HVolumeParam HVolumeParam;
  442.  
  443. struct AccessParam {
  444.  ParamBlockHeader 
  445.  short filler3;
  446.  short ioDenyModes;                    /*access rights data*/
  447.  short filler4;
  448.  char filler5;
  449.  char ioACUser;                        /*access rights for directory only*/
  450.  long filler6;
  451.  long ioACOwnerID;                    /*owner ID*/
  452.  long ioACGroupID;                    /*group ID*/
  453.  long ioACAccess;                    /*access rights*/
  454. };
  455.  
  456. typedef struct AccessParam AccessParam;
  457.  
  458. struct ObjParam {
  459.  ParamBlockHeader 
  460.  short filler7;
  461.  short ioObjType;                    /*function code*/
  462.  StringPtr ioObjNamePtr;            /*ptr to returned creator/group name*/
  463.  long ioObjID;                        /*creator/group ID*/
  464.  long ioReqCount;                    /*size of buffer area*/
  465.  long ioActCount;                    /*length of vol parms data*/
  466. };
  467.  
  468. typedef struct ObjParam ObjParam;
  469.  
  470. struct CopyParam {
  471.  ParamBlockHeader 
  472.  short ioDstVRefNum;                /*destination vol identifier*/
  473.  short filler8;
  474.  StringPtr ioNewName;                /*ptr to destination pathname*/
  475.  StringPtr ioCopyName;                /*ptr to optional name*/
  476.  long ioNewDirID;                    /*destination directory ID*/
  477.  long filler14;
  478.  long filler15;
  479.  long ioDirID;                        /*same as in FileParam*/
  480. };
  481.  
  482. typedef struct CopyParam CopyParam;
  483.  
  484. struct WDParam {
  485.  ParamBlockHeader 
  486.  short filler9;
  487.  short ioWDIndex;
  488.  long ioWDProcID;
  489.  short ioWDVRefNum;
  490.  short filler10;
  491.  long filler11;
  492.  long filler12;
  493.  long filler13;
  494.  long ioWDDirID;
  495. };
  496.  
  497. typedef struct WDParam WDParam;
  498.  
  499. struct FIDParam {
  500.  ParamBlockHeader 
  501.  long filler1;
  502.  StringPtr ioDestNamePtr;            /* dest file name */
  503.  long filler2;
  504.  long ioDestDirID;                    /* dest file's directory id */
  505.  long filler3;
  506.  long filler4;
  507.  long ioSrcDirID;                    /* source file's directory id */
  508.  short filler5;
  509.  long ioFileID;                        /* file ID */
  510. };
  511.  
  512. typedef struct FIDParam FIDParam;
  513.  
  514. /* Catalog position record */
  515. struct CatPositionRec {
  516.  long initialize;
  517.  short priv[6];
  518. };
  519.  
  520. typedef struct CatPositionRec CatPositionRec;
  521.  
  522. struct FSSpec {
  523.  short vRefNum;
  524.  long parID;
  525.  Str63 name;
  526. };
  527.  
  528. typedef struct FSSpec FSSpec;
  529. typedef FSSpec *FSSpecPtr, **FSSpecHandle;
  530.  
  531.  
  532. typedef FSSpecPtr FSSpecArrayPtr;    /* pointer to array of FSSpecs */
  533. /* The following are structures to be filled out with the _GetVolMountInfo call
  534.  and passed back into the _VolumeMount call for external file system mounts. */
  535.  
  536. typedef OSType VolumeType;            /* the "signature" of the file system */
  537.  
  538.  
  539.  
  540.  
  541. #define AppleShareMediaType 'afpm'    /* the signature for AppleShare */
  542.  
  543. struct VolMountInfoHeader {
  544.  short length;                        /* length of location data (including self) */
  545.  VolumeType media;                    /* type of media.  Variable length data follows */
  546. };
  547.  
  548. typedef struct VolMountInfoHeader VolMountInfoHeader;
  549. typedef VolMountInfoHeader *VolMountInfoPtr;
  550.  
  551. struct AFPVolMountInfo {
  552.  short length;                        /* length of location data (including self) */
  553.  VolumeType media;                    /* type of media */
  554.  short flags;                        /* bits for no messages, no reconnect */
  555.  char nbpInterval;                    /* NBP Interval parameter (IM2, p.322) */
  556.  char nbpCount;                        /* NBP Interval parameter (IM2, p.322) */
  557.  short uamType;                        /* User Authentication Method */
  558.  short zoneNameOffset;                /* short positive offset from start of struct to Zone Name */
  559.  short serverNameOffset;            /* offset to pascal Server Name string */
  560.  short volNameOffset;                /* offset to pascal Volume Name string */
  561.  short userNameOffset;                /* offset to pascal User Name string */
  562.  short userPasswordOffset;            /* offset to pascal User Password string */
  563.  short volPasswordOffset;            /* offset to pascal Volume Password string */
  564.  char AFPData[144];                    /* variable length data may follow */
  565. };
  566.  
  567. typedef struct AFPVolMountInfo AFPVolMountInfo;
  568. typedef AFPVolMountInfo *AFPVolMountInfoPtr;
  569.  
  570. struct CSParam {
  571.  ParamBlockHeader 
  572.  FSSpecPtr ioMatchPtr;                /* match array */
  573.  long ioReqMatchCount;                /* maximum allowable matches */
  574.  long ioActMatchCount;                /* actual match count */
  575.  long ioSearchBits;                    /* search criteria selector */
  576.  CInfoPBPtr ioSearchInfo1;            /* search values and range lower bounds */
  577.  CInfoPBPtr ioSearchInfo2;            /* search values and range upper bounds */
  578.  long ioSearchTime;                    /* length of time to run search */
  579.  CatPositionRec ioCatPosition;        /* current position in the catalog */
  580.  Ptr ioOptBuffer;                    /* optional performance enhancement buffer */
  581.  long ioOptBufSize;                    /* size of buffer pointed to by ioOptBuffer */
  582. };
  583.  
  584. typedef struct CSParam CSParam;
  585. typedef CSParam *CSParamPtr;
  586.  
  587. struct DTPBRec {
  588.  ParamBlockHeader 
  589.  short ioDTRefNum;                    /* desktop refnum */
  590.  short ioIndex;
  591.  long ioTagInfo;
  592.  Ptr ioDTBuffer;
  593.  long ioDTReqCount;
  594.  long ioDTActCount;
  595.  char ioFiller1;
  596.  char ioIconType;
  597.  short ioFiller2;
  598.  long ioDirID;
  599.  OSType ioFileCreator;
  600.  OSType ioFileType;
  601.  long ioFiller3;
  602.  long ioDTLgLen;
  603.  long ioDTPyLen;
  604.  short ioFiller4[14];
  605.  long ioAPPLParID;
  606. };
  607.  
  608. typedef struct DTPBRec DTPBRec;
  609. typedef DTPBRec *DTPBPtr;
  610.  
  611. struct ForeignPrivParam {
  612.  ParamBlockHeader 
  613.  long ioFiller1;
  614.  long ioFiller2;
  615.  Ptr ioForeignPrivBuffer;
  616.  long ioForeignPrivActCount;
  617.  long ioForeignPrivReqCount;
  618.  long ioFiller3;
  619.  long ioForeignPrivDirID;
  620.  long ioForeignPrivInfo1;
  621.  long ioForeignPrivInfo2;
  622.  long ioForeignPrivInfo3;
  623.  long ioForeignPrivInfo4;
  624. };
  625.  
  626. typedef struct ForeignPrivParam ForeignPrivParam;
  627. typedef ForeignPrivParam *ForeignPrivParamPtr;
  628.  
  629. union HParamBlockRec {
  630.  HIOParam ioParam;
  631.  HFileParam fileParam;
  632.  HVolumeParam volumeParam;
  633.  AccessParam accessParam;
  634.  ObjParam objParam;
  635.  CopyParam copyParam;
  636.  WDParam wdParam;
  637.  FIDParam fidParam;
  638.  CSParam csParam;
  639.  ForeignPrivParam foreignPrivParam;
  640. };
  641.  
  642. typedef union HParamBlockRec HParamBlockRec;
  643. typedef HParamBlockRec *HParmBlkPtr;
  644.  
  645. struct CMovePBRec {
  646.  QElemPtr qLink;
  647.  short qType;
  648.  short ioTrap;
  649.  Ptr ioCmdAddr;
  650.  ProcPtr ioCompletion;
  651.  OSErr ioResult;
  652.  StringPtr ioNamePtr;
  653.  short ioVRefNum;
  654.  long filler1;
  655.  StringPtr ioNewName;
  656.  long filler2;
  657.  long ioNewDirID;
  658.  long filler3[2];
  659.  long ioDirID;
  660. };
  661.  
  662. typedef struct CMovePBRec CMovePBRec;
  663. typedef CMovePBRec *CMovePBPtr;
  664.  
  665. struct WDPBRec {
  666.  QElemPtr qLink;
  667.  short qType;
  668.  short ioTrap;
  669.  Ptr ioCmdAddr;
  670.  ProcPtr ioCompletion;
  671.  OSErr ioResult;
  672.  StringPtr ioNamePtr;
  673.  short ioVRefNum;
  674.  short filler1;
  675.  short ioWDIndex;
  676.  long ioWDProcID;
  677.  short ioWDVRefNum;
  678.  short filler2[7];
  679.  long ioWDDirID;
  680. };
  681.  
  682. typedef struct WDPBRec WDPBRec;
  683. typedef WDPBRec *WDPBPtr;
  684.  
  685. struct FCBPBRec {
  686.  QElemPtr qLink;
  687.  short qType;
  688.  short ioTrap;
  689.  Ptr ioCmdAddr;
  690.  ProcPtr ioCompletion;
  691.  OSErr ioResult;
  692.  StringPtr ioNamePtr;
  693.  short ioVRefNum;
  694.  short ioRefNum;
  695.  short filler;
  696.  short ioFCBIndx;
  697.  short filler1;
  698.  long ioFCBFlNm;
  699.  short ioFCBFlags;
  700.  unsigned short ioFCBStBlk;
  701.  long ioFCBEOF;
  702.  long ioFCBPLen;
  703.  long ioFCBCrPs;
  704.  short ioFCBVRefNum;
  705.  long ioFCBClpSiz;
  706.  long ioFCBParID;
  707. };
  708.  
  709. typedef struct FCBPBRec FCBPBRec;
  710. typedef FCBPBRec *FCBPBPtr;
  711.  
  712. struct VCB {
  713.  QElemPtr qLink;
  714.  short qType;
  715.  short vcbFlags;
  716.  unsigned short vcbSigWord;
  717.  unsigned long vcbCrDate;
  718.  unsigned long vcbLsMod;
  719.  short vcbAtrb;
  720.  unsigned short vcbNmFls;
  721.  short vcbVBMSt;
  722.  short vcbAllocPtr;
  723.  unsigned short vcbNmAlBlks;
  724.  long vcbAlBlkSiz;
  725.  long vcbClpSiz;
  726.  short vcbAlBlSt;
  727.  long vcbNxtCNID;
  728.  unsigned short vcbFreeBks;
  729.  Str27 vcbVN;
  730.  short vcbDrvNum;
  731.  short vcbDRefNum;
  732.  short vcbFSID;
  733.  short vcbVRefNum;
  734.  Ptr vcbMAdr;
  735.  Ptr vcbBufAdr;
  736.  short vcbMLen;
  737.  short vcbDirIndex;
  738.  short vcbDirBlk;
  739.  unsigned long vcbVolBkUp;
  740.  unsigned short vcbVSeqNum;
  741.  long vcbWrCnt;
  742.  long vcbXTClpSiz;
  743.  long vcbCTClpSiz;
  744.  unsigned short vcbNmRtDirs;
  745.  long vcbFilCnt;
  746.  long vcbDirCnt;
  747.  long vcbFndrInfo[8];
  748.  unsigned short vcbVCSize;
  749.  unsigned short vcbVBMCSiz;
  750.  unsigned short vcbCtlCSiz;
  751.  unsigned short vcbXTAlBlks;
  752.  unsigned short vcbCTAlBlks;
  753.  short vcbXTRef;
  754.  short vcbCTRef;
  755.  Ptr vcbCtlBuf;
  756.  long vcbDirIDM;
  757.  short vcbOffsM;
  758. };
  759.  
  760. typedef struct VCB VCB;
  761.  
  762. struct DrvQEl {
  763.  QElemPtr qLink;
  764.  short qType;
  765.  short dQDrive;
  766.  short dQRefNum;
  767.  short dQFSID;
  768.  unsigned short dQDrvSz;
  769.  unsigned short dQDrvSz2;
  770. };
  771.  
  772. typedef struct DrvQEl DrvQEl;
  773. typedef DrvQEl *DrvQElPtr;
  774.  
  775. /* Numeric version part of 'vers' resource */
  776. struct NumVersion {
  777.  unsigned char majorRev;            /*1st part of version number in BCD*/
  778.  unsigned int minorRev : 4;            /*2nd part is 1 nibble in BCD*/
  779.  unsigned int bugFixRev : 4;        /*3rd part is 1 nibble in BCD*/
  780.  unsigned char stage;                /*stage code: dev, alpha, beta, final*/
  781.  unsigned char nonRelRev;            /*revision level of non-released version*/
  782. };
  783.  
  784. typedef struct NumVersion NumVersion;
  785.  
  786. /* 'vers' resource format */
  787. struct VersRec {
  788.  NumVersion numericVersion;            /*encoded version number*/
  789.  short countryCode;                    /*country code from intl utilities*/
  790.  Str255 shortVersion;                /*version number string - worst case*/
  791.  Str255 reserved;                    /*longMessage string packed after shortVersion*/
  792. };
  793.  
  794. typedef struct VersRec VersRec;
  795. typedef VersRec *VersRecPtr, **VersRecHndl;
  796.  
  797.  
  798. #ifdef __cplusplus
  799. extern "C" {
  800. #endif
  801. pascal OSErr PBOpen(ParmBlkPtr paramBlock,Boolean async); 
  802. #pragma parameter __D0 PBOpenSync(__A0)
  803. pascal OSErr PBOpenSync(ParmBlkPtr paramBlock)
  804.  = 0xA000; 
  805. #pragma parameter __D0 PBOpenAsync(__A0)
  806. pascal OSErr PBOpenAsync(ParmBlkPtr paramBlock)
  807.  = 0xA400; 
  808. pascal OSErr PBClose(ParmBlkPtr paramBlock,Boolean async); 
  809. #pragma parameter __D0 PBCloseSync(__A0)
  810. pascal OSErr PBCloseSync(ParmBlkPtr paramBlock)
  811.  = 0xA001; 
  812. #pragma parameter __D0 PBCloseAsync(__A0)
  813. pascal OSErr PBCloseAsync(ParmBlkPtr paramBlock)
  814.  = 0xA401; 
  815. pascal OSErr PBRead(ParmBlkPtr paramBlock,Boolean async); 
  816. #pragma parameter __D0 PBReadSync(__A0)
  817. pascal OSErr PBReadSync(ParmBlkPtr paramBlock)
  818.  = 0xA002; 
  819. #pragma parameter __D0 PBReadAsync(__A0)
  820. pascal OSErr PBReadAsync(ParmBlkPtr paramBlock)
  821.  = 0xA402; 
  822. pascal OSErr PBWrite(ParmBlkPtr paramBlock,Boolean async); 
  823. #pragma parameter __D0 PBWriteSync(__A0)
  824. pascal OSErr PBWriteSync(ParmBlkPtr paramBlock)
  825.  = 0xA003; 
  826. #pragma parameter __D0 PBWriteAsync(__A0)
  827. pascal OSErr PBWriteAsync(ParmBlkPtr paramBlock)
  828.  = 0xA403; 
  829. pascal OSErr PBGetVInfo(ParmBlkPtr paramBlock,Boolean async); 
  830. #pragma parameter __D0 PBGetVInfoSync(__A0)
  831. pascal OSErr PBGetVInfoSync(ParmBlkPtr paramBlock)
  832.  = 0xA007; 
  833. #pragma parameter __D0 PBGetVInfoAsync(__A0)
  834. pascal OSErr PBGetVInfoAsync(ParmBlkPtr paramBlock)
  835.  = 0xA407; 
  836. pascal OSErr PBGetVol(ParmBlkPtr paramBlock,Boolean async); 
  837. #pragma parameter __D0 PBGetVolSync(__A0)
  838. pascal OSErr PBGetVolSync(ParmBlkPtr paramBlock)
  839.  = 0xA014; 
  840. #pragma parameter __D0 PBGetVolAsync(__A0)
  841. pascal OSErr PBGetVolAsync(ParmBlkPtr paramBlock)
  842.  = 0xA414; 
  843. pascal OSErr PBSetVol(ParmBlkPtr paramBlock,Boolean async); 
  844. #pragma parameter __D0 PBSetVolSync(__A0)
  845. pascal OSErr PBSetVolSync(ParmBlkPtr paramBlock)
  846.  = 0xA015; 
  847. #pragma parameter __D0 PBSetVolAsync(__A0)
  848. pascal OSErr PBSetVolAsync(ParmBlkPtr paramBlock)
  849.  = 0xA415; 
  850. pascal OSErr PBFlushVol(ParmBlkPtr paramBlock,Boolean async); 
  851. #pragma parameter __D0 PBFlushVolSync(__A0)
  852. pascal OSErr PBFlushVolSync(ParmBlkPtr paramBlock)
  853.  = 0xA013; 
  854. #pragma parameter __D0 PBFlushVolAsync(__A0)
  855. pascal OSErr PBFlushVolAsync(ParmBlkPtr paramBlock)
  856.  = 0xA413; 
  857. pascal OSErr PBCreate(ParmBlkPtr paramBlock,Boolean async); 
  858. #pragma parameter __D0 PBCreateSync(__A0)
  859. pascal OSErr PBCreateSync(ParmBlkPtr paramBlock)
  860.  = 0xA008; 
  861. #pragma parameter __D0 PBCreateAsync(__A0)
  862. pascal OSErr PBCreateAsync(ParmBlkPtr paramBlock)
  863.  = 0xA408; 
  864. pascal OSErr PBDelete(ParmBlkPtr paramBlock,Boolean async); 
  865. #pragma parameter __D0 PBDeleteSync(__A0)
  866. pascal OSErr PBDeleteSync(ParmBlkPtr paramBlock)
  867.  = 0xA009; 
  868. #pragma parameter __D0 PBDeleteAsync(__A0)
  869. pascal OSErr PBDeleteAsync(ParmBlkPtr paramBlock)
  870.  = 0xA409; 
  871. pascal OSErr PBOpenDF(ParmBlkPtr paramBlock,Boolean async); 
  872. #pragma parameter __D0 PBOpenDFSync(__A0)
  873. pascal OSErr PBOpenDFSync(ParmBlkPtr paramBlock)
  874.  = {0x701A,0xA060}; 
  875. #pragma parameter __D0 PBOpenDFAsync(__A0)
  876. pascal OSErr PBOpenDFAsync(ParmBlkPtr paramBlock)
  877.  = {0x701A,0xA460}; 
  878. pascal OSErr PBOpenRF(ParmBlkPtr paramBlock,Boolean async); 
  879. #pragma parameter __D0 PBOpenRFSync(__A0)
  880. pascal OSErr PBOpenRFSync(ParmBlkPtr paramBlock)
  881.  = 0xA00A; 
  882. #pragma parameter __D0 PBOpenRFAsync(__A0)
  883. pascal OSErr PBOpenRFAsync(ParmBlkPtr paramBlock)
  884.  = 0xA40A; 
  885. pascal OSErr PBRename(ParmBlkPtr paramBlock,Boolean async); 
  886. #pragma parameter __D0 PBRenameSync(__A0)
  887. pascal OSErr PBRenameSync(ParmBlkPtr paramBlock)
  888.  = 0xA00B; 
  889. #pragma parameter __D0 PBRenameAsync(__A0)
  890. pascal OSErr PBRenameAsync(ParmBlkPtr paramBlock)
  891.  = 0xA40B; 
  892. pascal OSErr PBGetFInfo(ParmBlkPtr paramBlock,Boolean async); 
  893. #pragma parameter __D0 PBGetFInfoSync(__A0)
  894. pascal OSErr PBGetFInfoSync(ParmBlkPtr paramBlock)
  895.  = 0xA00C; 
  896. #pragma parameter __D0 PBGetFInfoAsync(__A0)
  897. pascal OSErr PBGetFInfoAsync(ParmBlkPtr paramBlock)
  898.  = 0xA40C; 
  899. pascal OSErr PBSetFInfo(ParmBlkPtr paramBlock,Boolean async); 
  900. #pragma parameter __D0 PBSetFInfoSync(__A0)
  901. pascal OSErr PBSetFInfoSync(ParmBlkPtr paramBlock)
  902.  = 0xA00D; 
  903. #pragma parameter __D0 PBSetFInfoAsync(__A0)
  904. pascal OSErr PBSetFInfoAsync(ParmBlkPtr paramBlock)
  905.  = 0xA40D; 
  906. pascal OSErr PBSetFLock(ParmBlkPtr paramBlock,Boolean async); 
  907. #pragma parameter __D0 PBSetFLockSync(__A0)
  908. pascal OSErr PBSetFLockSync(ParmBlkPtr paramBlock)
  909.  = 0xA041; 
  910. #pragma parameter __D0 PBSetFLockAsync(__A0)
  911. pascal OSErr PBSetFLockAsync(ParmBlkPtr paramBlock)
  912.  = 0xA441; 
  913. pascal OSErr PBRstFLock(ParmBlkPtr paramBlock,Boolean async); 
  914. #pragma parameter __D0 PBRstFLockSync(__A0)
  915. pascal OSErr PBRstFLockSync(ParmBlkPtr paramBlock)
  916.  = 0xA042; 
  917. #pragma parameter __D0 PBRstFLockAsync(__A0)
  918. pascal OSErr PBRstFLockAsync(ParmBlkPtr paramBlock)
  919.  = 0xA442; 
  920. pascal OSErr PBSetFVers(ParmBlkPtr paramBlock,Boolean async); 
  921. #pragma parameter __D0 PBSetFVersSync(__A0)
  922. pascal OSErr PBSetFVersSync(ParmBlkPtr paramBlock)
  923.  = 0xA043; 
  924. #pragma parameter __D0 PBSetFVersAsync(__A0)
  925. pascal OSErr PBSetFVersAsync(ParmBlkPtr paramBlock)
  926.  = 0xA443; 
  927. pascal OSErr PBAllocate(ParmBlkPtr paramBlock,Boolean async); 
  928. #pragma parameter __D0 PBAllocateSync(__A0)
  929. pascal OSErr PBAllocateSync(ParmBlkPtr paramBlock)
  930.  = 0xA010; 
  931. #pragma parameter __D0 PBAllocateAsync(__A0)
  932. pascal OSErr PBAllocateAsync(ParmBlkPtr paramBlock)
  933.  = 0xA410; 
  934. pascal OSErr PBGetEOF(ParmBlkPtr paramBlock,Boolean async); 
  935. #pragma parameter __D0 PBGetEOFSync(__A0)
  936. pascal OSErr PBGetEOFSync(ParmBlkPtr paramBlock)
  937.  = 0xA011; 
  938. #pragma parameter __D0 PBGetEOFAsync(__A0)
  939. pascal OSErr PBGetEOFAsync(ParmBlkPtr paramBlock)
  940.  = 0xA411; 
  941. pascal OSErr PBSetEOF(ParmBlkPtr paramBlock,Boolean async); 
  942. #pragma parameter __D0 PBSetEOFSync(__A0)
  943. pascal OSErr PBSetEOFSync(ParmBlkPtr paramBlock)
  944.  = 0xA012; 
  945. #pragma parameter __D0 PBSetEOFAsync(__A0)
  946. pascal OSErr PBSetEOFAsync(ParmBlkPtr paramBlock)
  947.  = 0xA412; 
  948. pascal OSErr PBGetFPos(ParmBlkPtr paramBlock,Boolean async); 
  949. #pragma parameter __D0 PBGetFPosSync(__A0)
  950. pascal OSErr PBGetFPosSync(ParmBlkPtr paramBlock)
  951.  = 0xA018; 
  952. #pragma parameter __D0 PBGetFPosAsync(__A0)
  953. pascal OSErr PBGetFPosAsync(ParmBlkPtr paramBlock)
  954.  = 0xA418; 
  955. pascal OSErr PBSetFPos(ParmBlkPtr paramBlock,Boolean async); 
  956. #pragma parameter __D0 PBSetFPosSync(__A0)
  957. pascal OSErr PBSetFPosSync(ParmBlkPtr paramBlock)
  958.  = 0xA044; 
  959. #pragma parameter __D0 PBSetFPosAsync(__A0)
  960. pascal OSErr PBSetFPosAsync(ParmBlkPtr paramBlock)
  961.  = 0xA444; 
  962. pascal OSErr PBFlushFile(ParmBlkPtr paramBlock,Boolean async); 
  963. #pragma parameter __D0 PBFlushFileSync(__A0)
  964. pascal OSErr PBFlushFileSync(ParmBlkPtr paramBlock)
  965.  = 0xA045; 
  966. #pragma parameter __D0 PBFlushFileAsync(__A0)
  967. pascal OSErr PBFlushFileAsync(ParmBlkPtr paramBlock)
  968.  = 0xA445; 
  969. #pragma parameter __D0 PBMountVol(__A0)
  970. pascal OSErr PBMountVol(ParmBlkPtr paramBlock)
  971.  = 0xA00F; 
  972. #pragma parameter __D0 PBUnmountVol(__A0)
  973. pascal OSErr PBUnmountVol(ParmBlkPtr paramBlock)
  974.  = 0xA00E; 
  975. #pragma parameter __D0 PBEject(__A0)
  976. pascal OSErr PBEject(ParmBlkPtr paramBlock)
  977.  = 0xA017; 
  978. #pragma parameter __D0 PBOffLine(__A0)
  979. pascal OSErr PBOffLine(ParmBlkPtr paramBlock)
  980.  = 0xA035; 
  981.  
  982. pascal OSErr PBCatSearch(CSParamPtr paramBlock,Boolean async); 
  983. #pragma parameter __D0 PBCatSearchSync(__A0)
  984. pascal OSErr PBCatSearchSync(CSParamPtr paramBlock)
  985.  = {0x7018,0xA260}; 
  986. #pragma parameter __D0 PBCatSearchAsync(__A0)
  987. pascal OSErr PBCatSearchAsync(CSParamPtr paramBlock)
  988.  = {0x7018,0xA660}; 
  989.  
  990. pascal void AddDrive(short drvrRefNum,short drvNum,DrvQElPtr qEl); 
  991. pascal OSErr FSOpen(ConstStr255Param fileName,short vRefNum,short *refNum); 
  992. pascal OSErr OpenDF(ConstStr255Param fileName,short vRefNum,short *refNum); 
  993. OSErr fsopen(char *fileName,short vRefNum,short *refNum); 
  994. pascal OSErr FSClose(short refNum); 
  995. pascal OSErr FSRead(short refNum,long *count,void *buffPtr); 
  996. pascal OSErr FSWrite(short refNum,long *count,const void *buffPtr); 
  997. pascal OSErr GetVInfo(short drvNum,StringPtr volName,short *vRefNum,long *freeBytes); 
  998. OSErr getvinfo(short drvNum,char *volName,short *vRefNum,long *freeBytes); 
  999. pascal OSErr GetFInfo(ConstStr255Param fileName,short vRefNum,FInfo *fndrInfo); 
  1000. OSErr getfinfo(char *fileName,short vRefNum,FInfo *fndrInfo); 
  1001. pascal OSErr GetVol(StringPtr volName,short *vRefNum); 
  1002. OSErr getvol(char *volName,short *vRefNum); 
  1003. pascal OSErr SetVol(StringPtr volName,short vRefNum); 
  1004. OSErr setvol(char *volName,short vRefNum); 
  1005. pascal OSErr UnmountVol(StringPtr volName,short vRefNum); 
  1006. OSErr unmountvol(char *volName,short vRefNum); 
  1007. pascal OSErr Eject(StringPtr volName,short vRefNum); 
  1008. OSErr eject(char *volName,short vRefNum); 
  1009. pascal OSErr FlushVol(StringPtr volName,short vRefNum); 
  1010. OSErr flushvol(char *volName,short vRefNum); 
  1011. pascal OSErr Create(ConstStr255Param fileName,short vRefNum,OSType creator,
  1012.  OSType fileType); 
  1013. OSErr create(char *fileName,short vRefNum,OSType creator,OSType fileType); 
  1014. pascal OSErr FSDelete(ConstStr255Param fileName,short vRefNum); 
  1015. OSErr fsdelete(char *fileName,short vRefNum); 
  1016. pascal OSErr OpenRF(ConstStr255Param fileName,short vRefNum,short *refNum); 
  1017. OSErr openrf(char *fileName,short vRefNum,short *refNum); 
  1018. pascal OSErr Rename(ConstStr255Param oldName,short vRefNum,ConstStr255Param newName); 
  1019. OSErr fsrename(char *oldName,short vRefNum,char *newName); 
  1020. pascal OSErr SetFInfo(ConstStr255Param fileName,short vRefNum,const FInfo *fndrInfo); 
  1021. OSErr setfinfo(char *fileName,short vRefNum,FInfo *fndrInfo); 
  1022. pascal OSErr SetFLock(ConstStr255Param fileName,short vRefNum); 
  1023. OSErr setflock(char *fileName,short vRefNum); 
  1024. pascal OSErr RstFLock(ConstStr255Param fileName,short vRefNum); 
  1025. OSErr rstflock(char *fileName,short vRefNum); 
  1026. pascal OSErr Allocate(short refNum,long *count); 
  1027. pascal OSErr GetEOF(short refNum,long *logEOF); 
  1028. pascal OSErr SetEOF(short refNum,long logEOF); 
  1029. pascal OSErr GetFPos(short refNum,long *filePos); 
  1030. pascal OSErr SetFPos(short refNum,short posMode,long posOff); 
  1031. pascal OSErr GetVRefNum(short fileRefNum,short *vRefNum); 
  1032.  
  1033. pascal OSErr PBOpenWD(WDPBPtr paramBlock,Boolean async); 
  1034. #pragma parameter __D0 PBOpenWDSync(__A0)
  1035. pascal OSErr PBOpenWDSync(WDPBPtr paramBlock)
  1036.  = {0x7001,0xA260}; 
  1037. #pragma parameter __D0 PBOpenWDAsync(__A0)
  1038. pascal OSErr PBOpenWDAsync(WDPBPtr paramBlock)
  1039.  = {0x7001,0xA660}; 
  1040. pascal OSErr PBCloseWD(WDPBPtr paramBlock,Boolean async); 
  1041. #pragma parameter __D0 PBCloseWDSync(__A0)
  1042. pascal OSErr PBCloseWDSync(WDPBPtr paramBlock)
  1043.  = {0x7002,0xA260}; 
  1044. #pragma parameter __D0 PBCloseWDAsync(__A0)
  1045. pascal OSErr PBCloseWDAsync(WDPBPtr paramBlock)
  1046.  = {0x7002,0xA660}; 
  1047. pascal OSErr PBHSetVol(WDPBPtr paramBlock,Boolean async); 
  1048. #pragma parameter __D0 PBHSetVolSync(__A0)
  1049. pascal OSErr PBHSetVolSync(WDPBPtr paramBlock)
  1050.  = 0xA215; 
  1051. #pragma parameter __D0 PBHSetVolAsync(__A0)
  1052. pascal OSErr PBHSetVolAsync(WDPBPtr paramBlock)
  1053.  = 0xA615; 
  1054. pascal OSErr PBHGetVol(WDPBPtr paramBlock,Boolean async); 
  1055. #pragma parameter __D0 PBHGetVolSync(__A0)
  1056. pascal OSErr PBHGetVolSync(WDPBPtr paramBlock)
  1057.  = 0xA214; 
  1058. #pragma parameter __D0 PBHGetVolAsync(__A0)
  1059. pascal OSErr PBHGetVolAsync(WDPBPtr paramBlock)
  1060.  = 0xA614; 
  1061. pascal OSErr PBCatMove(CMovePBPtr paramBlock,Boolean async); 
  1062. #pragma parameter __D0 PBCatMoveSync(__A0)
  1063. pascal OSErr PBCatMoveSync(CMovePBPtr paramBlock)
  1064.  = {0x7005,0xA260}; 
  1065. #pragma parameter __D0 PBCatMoveAsync(__A0)
  1066. pascal OSErr PBCatMoveAsync(CMovePBPtr paramBlock)
  1067.  = {0x7005,0xA660}; 
  1068. pascal OSErr PBDirCreate(HParmBlkPtr paramBlock,Boolean async); 
  1069. #pragma parameter __D0 PBDirCreateSync(__A0)
  1070. pascal OSErr PBDirCreateSync(HParmBlkPtr paramBlock)
  1071.  = {0x7006,0xA260}; 
  1072. #pragma parameter __D0 PBDirCreateAsync(__A0)
  1073. pascal OSErr PBDirCreateAsync(HParmBlkPtr paramBlock)
  1074.  = {0x7006,0xA660}; 
  1075. pascal OSErr PBGetWDInfo(WDPBPtr paramBlock,Boolean async); 
  1076. #pragma parameter __D0 PBGetWDInfoSync(__A0)
  1077. pascal OSErr PBGetWDInfoSync(WDPBPtr paramBlock)
  1078.  = {0x7007,0xA260}; 
  1079. #pragma parameter __D0 PBGetWDInfoAsync(__A0)
  1080. pascal OSErr PBGetWDInfoAsync(WDPBPtr paramBlock)
  1081.  = {0x7007,0xA660}; 
  1082. pascal OSErr PBGetFCBInfo(FCBPBPtr paramBlock,Boolean async); 
  1083. #pragma parameter __D0 PBGetFCBInfoSync(__A0)
  1084. pascal OSErr PBGetFCBInfoSync(FCBPBPtr paramBlock)
  1085.  = {0x7008,0xA260}; 
  1086. #pragma parameter __D0 PBGetFCBInfoAsync(__A0)
  1087. pascal OSErr PBGetFCBInfoAsync(FCBPBPtr paramBlock)
  1088.  = {0x7008,0xA660}; 
  1089. pascal OSErr PBGetCatInfo(CInfoPBPtr paramBlock,Boolean async); 
  1090. #pragma parameter __D0 PBGetCatInfoSync(__A0)
  1091. pascal OSErr PBGetCatInfoSync(CInfoPBPtr paramBlock)
  1092.  = {0x7009,0xA260}; 
  1093. #pragma parameter __D0 PBGetCatInfoAsync(__A0)
  1094. pascal OSErr PBGetCatInfoAsync(CInfoPBPtr paramBlock)
  1095.  = {0x7009,0xA660}; 
  1096. pascal OSErr PBSetCatInfo(CInfoPBPtr paramBlock,Boolean async); 
  1097. #pragma parameter __D0 PBSetCatInfoSync(__A0)
  1098. pascal OSErr PBSetCatInfoSync(CInfoPBPtr paramBlock)
  1099.  = {0x700A,0xA260}; 
  1100. #pragma parameter __D0 PBSetCatInfoAsync(__A0)
  1101. pascal OSErr PBSetCatInfoAsync(CInfoPBPtr paramBlock)
  1102.  = {0x700A,0xA660}; 
  1103.  
  1104. pascal OSErr PBAllocContig(ParmBlkPtr paramBlock,Boolean async); 
  1105. #pragma parameter __D0 PBAllocContigSync(__A0)
  1106. pascal OSErr PBAllocContigSync(ParmBlkPtr paramBlock)
  1107.  = 0xA210; 
  1108. #pragma parameter __D0 PBAllocContigAsync(__A0)
  1109. pascal OSErr PBAllocContigAsync(ParmBlkPtr paramBlock)
  1110.  = 0xA610; 
  1111. pascal OSErr PBLockRange(ParmBlkPtr paramBlock,Boolean async); 
  1112. #pragma parameter __D0 PBLockRangeSync(__A0)
  1113. pascal OSErr PBLockRangeSync(ParmBlkPtr paramBlock)
  1114.  = {0x7010,0xA260}; 
  1115. #pragma parameter __D0 PBLockRangeAsync(__A0)
  1116. pascal OSErr PBLockRangeAsync(ParmBlkPtr paramBlock)
  1117.  = {0x7010,0xA660}; 
  1118. pascal OSErr PBUnlockRange(ParmBlkPtr paramBlock,Boolean async); 
  1119. #pragma parameter __D0 PBUnlockRangeSync(__A0)
  1120. pascal OSErr PBUnlockRangeSync(ParmBlkPtr paramBlock)
  1121.  = {0x7011,0xA260}; 
  1122. #pragma parameter __D0 PBUnlockRangeAsync(__A0)
  1123. pascal OSErr PBUnlockRangeAsync(ParmBlkPtr paramBlock)
  1124.  = {0x7011,0xA660}; 
  1125. pascal OSErr PBSetVInfo(HParmBlkPtr paramBlock,Boolean async); 
  1126. #pragma parameter __D0 PBSetVInfoSync(__A0)
  1127. pascal OSErr PBSetVInfoSync(HParmBlkPtr paramBlock)
  1128.  = {0x700B,0xA260}; 
  1129. #pragma parameter __D0 PBSetVInfoAsync(__A0)
  1130. pascal OSErr PBSetVInfoAsync(HParmBlkPtr paramBlock)
  1131.  = {0x700B,0xA660}; 
  1132. pascal OSErr PBHGetVInfo(HParmBlkPtr paramBlock,Boolean async); 
  1133. #pragma parameter __D0 PBHGetVInfoSync(__A0)
  1134. pascal OSErr PBHGetVInfoSync(HParmBlkPtr paramBlock)
  1135.  = 0xA207; 
  1136. #pragma parameter __D0 PBHGetVInfoAsync(__A0)
  1137. pascal OSErr PBHGetVInfoAsync(HParmBlkPtr paramBlock)
  1138.  = 0xA607; 
  1139. pascal OSErr PBHOpen(HParmBlkPtr paramBlock,Boolean async); 
  1140. #pragma parameter __D0 PBHOpenSync(__A0)
  1141. pascal OSErr PBHOpenSync(HParmBlkPtr paramBlock)
  1142.  = 0xA200; 
  1143. #pragma parameter __D0 PBHOpenAsync(__A0)
  1144. pascal OSErr PBHOpenAsync(HParmBlkPtr paramBlock)
  1145.  = 0xA600; 
  1146. pascal OSErr PBHOpenRF(HParmBlkPtr paramBlock,Boolean async); 
  1147. #pragma parameter __D0 PBHOpenRFSync(__A0)
  1148. pascal OSErr PBHOpenRFSync(HParmBlkPtr paramBlock)
  1149.  = 0xA20A; 
  1150. #pragma parameter __D0 PBHOpenRFAsync(__A0)
  1151. pascal OSErr PBHOpenRFAsync(HParmBlkPtr paramBlock)
  1152.  = 0xA60A; 
  1153. pascal OSErr PBHOpenDF(HParmBlkPtr paramBlock,Boolean async); 
  1154. #pragma parameter __D0 PBHOpenDFSync(__A0)
  1155. pascal OSErr PBHOpenDFSync(HParmBlkPtr paramBlock)
  1156.  = {0x701A,0xA260}; 
  1157. #pragma parameter __D0 PBHOpenDFAsync(__A0)
  1158. pascal OSErr PBHOpenDFAsync(HParmBlkPtr paramBlock)
  1159.  = {0x701A,0xA660}; 
  1160.  
  1161. pascal OSErr PBHCreate(HParmBlkPtr paramBlock,Boolean async); 
  1162. #pragma parameter __D0 PBHCreateSync(__A0)
  1163. pascal OSErr PBHCreateSync(HParmBlkPtr paramBlock)
  1164.  = 0xA208; 
  1165. #pragma parameter __D0 PBHCreateAsync(__A0)
  1166. pascal OSErr PBHCreateAsync(HParmBlkPtr paramBlock)
  1167.  = 0xA608; 
  1168. pascal OSErr PBHDelete(HParmBlkPtr paramBlock,Boolean async); 
  1169. #pragma parameter __D0 PBHDeleteSync(__A0)
  1170. pascal OSErr PBHDeleteSync(HParmBlkPtr paramBlock)
  1171.  = 0xA209; 
  1172. #pragma parameter __D0 PBHDeleteAsync(__A0)
  1173. pascal OSErr PBHDeleteAsync(HParmBlkPtr paramBlock)
  1174.  = 0xA609; 
  1175. pascal OSErr PBHRename(HParmBlkPtr paramBlock,Boolean async); 
  1176. #pragma parameter __D0 PBHRenameSync(__A0)
  1177. pascal OSErr PBHRenameSync(HParmBlkPtr paramBlock)
  1178.  = 0xA20B; 
  1179. #pragma parameter __D0 PBHRenameAsync(__A0)
  1180. pascal OSErr PBHRenameAsync(HParmBlkPtr paramBlock)
  1181.  = 0xA60B; 
  1182. pascal OSErr PBHRstFLock(HParmBlkPtr paramBlock,Boolean async); 
  1183. #pragma parameter __D0 PBHRstFLockSync(__A0)
  1184. pascal OSErr PBHRstFLockSync(HParmBlkPtr paramBlock)
  1185.  = 0xA242; 
  1186. #pragma parameter __D0 PBHRstFLockAsync(__A0)
  1187. pascal OSErr PBHRstFLockAsync(HParmBlkPtr paramBlock)
  1188.  = 0xA642; 
  1189. pascal OSErr PBHSetFLock(HParmBlkPtr paramBlock,Boolean async); 
  1190. #pragma parameter __D0 PBHSetFLockSync(__A0)
  1191. pascal OSErr PBHSetFLockSync(HParmBlkPtr paramBlock)
  1192.  = 0xA241; 
  1193. #pragma parameter __D0 PBHSetFLockAsync(__A0)
  1194. pascal OSErr PBHSetFLockAsync(HParmBlkPtr paramBlock)
  1195.  = 0xA641; 
  1196. pascal OSErr PBHGetFInfo(HParmBlkPtr paramBlock,Boolean async); 
  1197. #pragma parameter __D0 PBHGetFInfoSync(__A0)
  1198. pascal OSErr PBHGetFInfoSync(HParmBlkPtr paramBlock)
  1199.  = 0xA20C; 
  1200. #pragma parameter __D0 PBHGetFInfoAsync(__A0)
  1201. pascal OSErr PBHGetFInfoAsync(HParmBlkPtr paramBlock)
  1202.  = 0xA60C; 
  1203. pascal OSErr PBHSetFInfo(HParmBlkPtr paramBlock,Boolean async); 
  1204. #pragma parameter __D0 PBHSetFInfoSync(__A0)
  1205. pascal OSErr PBHSetFInfoSync(HParmBlkPtr paramBlock)
  1206.  = 0xA20D; 
  1207. #pragma parameter __D0 PBHSetFInfoAsync(__A0)
  1208. pascal OSErr PBHSetFInfoAsync(HParmBlkPtr paramBlock)
  1209.  = 0xA60D; 
  1210.  
  1211. pascal OSErr PBMakeFSSpec(HParmBlkPtr paramBlock,Boolean async); 
  1212. #pragma parameter __D0 PBMakeFSSpecSync(__A0)
  1213. pascal OSErr PBMakeFSSpecSync(HParmBlkPtr paramBlock)
  1214.  = {0x701B,0xA260}; 
  1215. #pragma parameter __D0 PBMakeFSSpecAsync(__A0)
  1216. pascal OSErr PBMakeFSSpecAsync(HParmBlkPtr paramBlock)
  1217.  = {0x701B,0xA660}; 
  1218.  
  1219. pascal void FInitQueue(void)
  1220.  = 0xA016; 
  1221. #define GetFSQHdr() ((QHdrPtr) 0x0360)
  1222. #define GetDrvQHdr() ((QHdrPtr) 0x0308)
  1223. #define GetVCBQHdr() ((QHdrPtr) 0x0356)
  1224. pascal OSErr HGetVol(StringPtr volName,short *vRefNum,long *dirID); 
  1225. pascal OSErr HSetVol(StringPtr volName,short vRefNum,long dirID); 
  1226. pascal OSErr HOpen(short vRefNum,long dirID,ConstStr255Param fileName,char permission,
  1227.  short *refNum); 
  1228. pascal OSErr HOpenDF(short vRefNum,long dirID,ConstStr255Param fileName,
  1229.  char permission,short *refNum); 
  1230. pascal OSErr HOpenRF(short vRefNum,long dirID,ConstStr255Param fileName,
  1231.  char permission,short *refNum); 
  1232. pascal OSErr AllocContig(short refNum,long *count); 
  1233. pascal OSErr HCreate(short vRefNum,long dirID,ConstStr255Param fileName,
  1234.  OSType creator,OSType fileType); 
  1235. pascal OSErr DirCreate(short vRefNum,long parentDirID,ConstStr255Param directoryName,
  1236.  long *createdDirID); 
  1237. pascal OSErr HDelete(short vRefNum,long dirID,ConstStr255Param fileName); 
  1238. pascal OSErr HGetFInfo(short vRefNum,long dirID,ConstStr255Param fileName,
  1239.  FInfo *fndrInfo); 
  1240. pascal OSErr HSetFInfo(short vRefNum,long dirID,ConstStr255Param fileName,
  1241.  const FInfo *fndrInfo); 
  1242. pascal OSErr HSetFLock(short vRefNum,long dirID,ConstStr255Param fileName); 
  1243. pascal OSErr HRstFLock(short vRefNum,long dirID,ConstStr255Param fileName); 
  1244. pascal OSErr HRename(short vRefNum,long dirID,ConstStr255Param oldName,
  1245.  ConstStr255Param newName); 
  1246. pascal OSErr CatMove(short vRefNum,long dirID,ConstStr255Param oldName,
  1247.  long newDirID,ConstStr255Param newName); 
  1248. pascal OSErr OpenWD(short vRefNum,long dirID,long procID,short *wdRefNum); 
  1249. pascal OSErr CloseWD(short wdRefNum); 
  1250. pascal OSErr GetWDInfo(short wdRefNum,short *vRefNum,long *dirID,long *procID); 
  1251. /*  shared environment  */
  1252. pascal OSErr PBHGetVolParms(HParmBlkPtr paramBlock,Boolean async); 
  1253. #pragma parameter __D0 PBHGetVolParmsSync(__A0)
  1254. pascal OSErr PBHGetVolParmsSync(HParmBlkPtr paramBlock)
  1255.  = {0x7030,0xA260}; 
  1256. #pragma parameter __D0 PBHGetVolParmsAsync(__A0)
  1257. pascal OSErr PBHGetVolParmsAsync(HParmBlkPtr paramBlock)
  1258.  = {0x7030,0xA660}; 
  1259. pascal OSErr PBHGetLogInInfo(HParmBlkPtr paramBlock,Boolean async); 
  1260. #pragma parameter __D0 PBHGetLogInInfoSync(__A0)
  1261. pascal OSErr PBHGetLogInInfoSync(HParmBlkPtr paramBlock)
  1262.  = {0x7031,0xA260}; 
  1263. #pragma parameter __D0 PBHGetLogInInfoAsync(__A0)
  1264. pascal OSErr PBHGetLogInInfoAsync(HParmBlkPtr paramBlock)
  1265.  = {0x7031,0xA660}; 
  1266. pascal OSErr PBHGetDirAccess(HParmBlkPtr paramBlock,Boolean async); 
  1267. #pragma parameter __D0 PBHGetDirAccessSync(__A0)
  1268. pascal OSErr PBHGetDirAccessSync(HParmBlkPtr paramBlock)
  1269.  = {0x7032,0xA260}; 
  1270. #pragma parameter __D0 PBHGetDirAccessAsync(__A0)
  1271. pascal OSErr PBHGetDirAccessAsync(HParmBlkPtr paramBlock)
  1272.  = {0x7032,0xA660}; 
  1273. pascal OSErr PBHSetDirAccess(HParmBlkPtr paramBlock,Boolean async); 
  1274. #pragma parameter __D0 PBHSetDirAccessSync(__A0)
  1275. pascal OSErr PBHSetDirAccessSync(HParmBlkPtr paramBlock)
  1276.  = {0x7033,0xA260}; 
  1277. #pragma parameter __D0 PBHSetDirAccessAsync(__A0)
  1278. pascal OSErr PBHSetDirAccessAsync(HParmBlkPtr paramBlock)
  1279.  = {0x7033,0xA660}; 
  1280. pascal OSErr PBHMapID(HParmBlkPtr paramBlock,Boolean async); 
  1281. #pragma parameter __D0 PBHMapIDSync(__A0)
  1282. pascal OSErr PBHMapIDSync(HParmBlkPtr paramBlock)
  1283.  = {0x7034,0xA260}; 
  1284. #pragma parameter __D0 PBHMapIDAsync(__A0)
  1285. pascal OSErr PBHMapIDAsync(HParmBlkPtr paramBlock)
  1286.  = {0x7034,0xA660}; 
  1287. pascal OSErr PBHMapName(HParmBlkPtr paramBlock,Boolean async); 
  1288. #pragma parameter __D0 PBHMapNameSync(__A0)
  1289. pascal OSErr PBHMapNameSync(HParmBlkPtr paramBlock)
  1290.  = {0x7035,0xA260}; 
  1291. #pragma parameter __D0 PBHMapNameAsync(__A0)
  1292. pascal OSErr PBHMapNameAsync(HParmBlkPtr paramBlock)
  1293.  = {0x7035,0xA660}; 
  1294. pascal OSErr PBHCopyFile(HParmBlkPtr paramBlock,Boolean async); 
  1295. #pragma parameter __D0 PBHCopyFileSync(__A0)
  1296. pascal OSErr PBHCopyFileSync(HParmBlkPtr paramBlock)
  1297.  = {0x7036,0xA260}; 
  1298. #pragma parameter __D0 PBHCopyFileAsync(__A0)
  1299. pascal OSErr PBHCopyFileAsync(HParmBlkPtr paramBlock)
  1300.  = {0x7036,0xA660}; 
  1301. pascal OSErr PBHMoveRename(HParmBlkPtr paramBlock,Boolean async); 
  1302. #pragma parameter __D0 PBHMoveRenameSync(__A0)
  1303. pascal OSErr PBHMoveRenameSync(HParmBlkPtr paramBlock)
  1304.  = {0x7037,0xA260}; 
  1305. #pragma parameter __D0 PBHMoveRenameAsync(__A0)
  1306. pascal OSErr PBHMoveRenameAsync(HParmBlkPtr paramBlock)
  1307.  = {0x7037,0xA660}; 
  1308. pascal OSErr PBHOpenDeny(HParmBlkPtr paramBlock,Boolean async); 
  1309. #pragma parameter __D0 PBHOpenDenySync(__A0)
  1310. pascal OSErr PBHOpenDenySync(HParmBlkPtr paramBlock)
  1311.  = {0x7038,0xA260}; 
  1312. #pragma parameter __D0 PBHOpenDenyAsync(__A0)
  1313. pascal OSErr PBHOpenDenyAsync(HParmBlkPtr paramBlock)
  1314.  = {0x7038,0xA660}; 
  1315. pascal OSErr PBHOpenRFDeny(HParmBlkPtr paramBlock,Boolean async); 
  1316. #pragma parameter __D0 PBHOpenRFDenySync(__A0)
  1317. pascal OSErr PBHOpenRFDenySync(HParmBlkPtr paramBlock)
  1318.  = {0x7039,0xA260}; 
  1319. #pragma parameter __D0 PBHOpenRFDenyAsync(__A0)
  1320. pascal OSErr PBHOpenRFDenyAsync(HParmBlkPtr paramBlock)
  1321.  = {0x7039,0xA660}; 
  1322.  
  1323. pascal OSErr PBExchangeFiles(HParmBlkPtr paramBlock,Boolean async); 
  1324. #pragma parameter __D0 PBExchangeFilesSync(__A0)
  1325. pascal OSErr PBExchangeFilesSync(HParmBlkPtr paramBlock)
  1326.  = {0x7017,0xA260}; 
  1327. #pragma parameter __D0 PBExchangeFilesAsync(__A0)
  1328. pascal OSErr PBExchangeFilesAsync(HParmBlkPtr paramBlock)
  1329.  = {0x7017,0xA660}; 
  1330. pascal OSErr PBCreateFileIDRef(HParmBlkPtr paramBlock,Boolean async); 
  1331. #pragma parameter __D0 PBCreateFileIDRefSync(__A0)
  1332. pascal OSErr PBCreateFileIDRefSync(HParmBlkPtr paramBlock)
  1333.  = {0x7014,0xA260}; 
  1334. #pragma parameter __D0 PBCreateFileIDRefAsync(__A0)
  1335. pascal OSErr PBCreateFileIDRefAsync(HParmBlkPtr paramBlock)
  1336.  = {0x7014,0xA660}; 
  1337. pascal OSErr PBResolveFileIDRef(HParmBlkPtr paramBlock,Boolean async); 
  1338. #pragma parameter __D0 PBResolveFileIDRefSync(__A0)
  1339. pascal OSErr PBResolveFileIDRefSync(HParmBlkPtr paramBlock)
  1340.  = {0x7016,0xA260}; 
  1341. #pragma parameter __D0 PBResolveFileIDRefAsync(__A0)
  1342. pascal OSErr PBResolveFileIDRefAsync(HParmBlkPtr paramBlock)
  1343.  = {0x7016,0xA660}; 
  1344. pascal OSErr PBDeleteFileIDRef(HParmBlkPtr paramBlock,Boolean async); 
  1345. #pragma parameter __D0 PBDeleteFileIDRefSync(__A0)
  1346. pascal OSErr PBDeleteFileIDRefSync(HParmBlkPtr paramBlock)
  1347.  = {0x7015,0xA260}; 
  1348. #pragma parameter __D0 PBDeleteFileIDRefAsync(__A0)
  1349. pascal OSErr PBDeleteFileIDRefAsync(HParmBlkPtr paramBlock)
  1350.  = {0x7015,0xA660}; 
  1351.  
  1352. pascal OSErr PBGetForeignPrivs(HParmBlkPtr paramBlock,Boolean async); 
  1353. #pragma parameter __D0 PBGetForeignPrivsSync(__A0)
  1354. pascal OSErr PBGetForeignPrivsSync(HParmBlkPtr paramBlock)
  1355.  = {0x7060,0xA260}; 
  1356. #pragma parameter __D0 PBGetForeignPrivsAsync(__A0)
  1357. pascal OSErr PBGetForeignPrivsAsync(HParmBlkPtr paramBlock)
  1358.  = {0x7060,0xA660}; 
  1359. pascal OSErr PBSetForeignPrivs(HParmBlkPtr paramBlock,Boolean async); 
  1360. #pragma parameter __D0 PBSetForeignPrivsSync(__A0)
  1361. pascal OSErr PBSetForeignPrivsSync(HParmBlkPtr paramBlock)
  1362.  = {0x7061,0xA260}; 
  1363. #pragma parameter __D0 PBSetForeignPrivsAsync(__A0)
  1364. pascal OSErr PBSetForeignPrivsAsync(HParmBlkPtr paramBlock)
  1365.  = {0x7061,0xA660}; 
  1366. /*  Desktop Manager  */
  1367. #pragma parameter __D0 PBDTGetPath(__A0)
  1368. pascal OSErr PBDTGetPath(DTPBPtr paramBlock)
  1369.  = {0x7020,0xA260}; 
  1370. #pragma parameter __D0 PBDTCloseDown(__A0)
  1371. pascal OSErr PBDTCloseDown(DTPBPtr paramBlock)
  1372.  = {0x7021,0xA260}; 
  1373. pascal OSErr PBDTAddIcon(DTPBPtr paramBlock,Boolean async); 
  1374. #pragma parameter __D0 PBDTAddIconSync(__A0)
  1375. pascal OSErr PBDTAddIconSync(DTPBPtr paramBlock)
  1376.  = {0x7022,0xA260}; 
  1377. #pragma parameter __D0 PBDTAddIconAsync(__A0)
  1378. pascal OSErr PBDTAddIconAsync(DTPBPtr paramBlock)
  1379.  = {0x7022,0xA660}; 
  1380. pascal OSErr PBDTGetIcon(DTPBPtr paramBlock,Boolean async); 
  1381. #pragma parameter __D0 PBDTGetIconSync(__A0)
  1382. pascal OSErr PBDTGetIconSync(DTPBPtr paramBlock)
  1383.  = {0x7023,0xA260}; 
  1384. #pragma parameter __D0 PBDTGetIconAsync(__A0)
  1385. pascal OSErr PBDTGetIconAsync(DTPBPtr paramBlock)
  1386.  = {0x7023,0xA660}; 
  1387. pascal OSErr PBDTGetIconInfo(DTPBPtr paramBlock,Boolean async); 
  1388. #pragma parameter __D0 PBDTGetIconInfoSync(__A0)
  1389. pascal OSErr PBDTGetIconInfoSync(DTPBPtr paramBlock)
  1390.  = {0x7024,0xA260}; 
  1391. #pragma parameter __D0 PBDTGetIconInfoAsync(__A0)
  1392. pascal OSErr PBDTGetIconInfoAsync(DTPBPtr paramBlock)
  1393.  = {0x7024,0xA660}; 
  1394. pascal OSErr PBDTAddAPPL(DTPBPtr paramBlock,Boolean async); 
  1395. #pragma parameter __D0 PBDTAddAPPLSync(__A0)
  1396. pascal OSErr PBDTAddAPPLSync(DTPBPtr paramBlock)
  1397.  = {0x7025,0xA260}; 
  1398. #pragma parameter __D0 PBDTAddAPPLAsync(__A0)
  1399. pascal OSErr PBDTAddAPPLAsync(DTPBPtr paramBlock)
  1400.  = {0x7025,0xA660}; 
  1401. pascal OSErr PBDTRemoveAPPL(DTPBPtr paramBlock,Boolean async); 
  1402. #pragma parameter __D0 PBDTRemoveAPPLSync(__A0)
  1403. pascal OSErr PBDTRemoveAPPLSync(DTPBPtr paramBlock)
  1404.  = {0x7026,0xA260}; 
  1405. #pragma parameter __D0 PBDTRemoveAPPLAsync(__A0)
  1406. pascal OSErr PBDTRemoveAPPLAsync(DTPBPtr paramBlock)
  1407.  = {0x7026,0xA660}; 
  1408. pascal OSErr PBDTGetAPPL(DTPBPtr paramBlock,Boolean async); 
  1409. #pragma parameter __D0 PBDTGetAPPLSync(__A0)
  1410. pascal OSErr PBDTGetAPPLSync(DTPBPtr paramBlock)
  1411.  = {0x7027,0xA260}; 
  1412. #pragma parameter __D0 PBDTGetAPPLAsync(__A0)
  1413. pascal OSErr PBDTGetAPPLAsync(DTPBPtr paramBlock)
  1414.  = {0x7027,0xA660}; 
  1415. pascal OSErr PBDTSetComment(DTPBPtr paramBlock,Boolean async); 
  1416. #pragma parameter __D0 PBDTSetCommentSync(__A0)
  1417. pascal OSErr PBDTSetCommentSync(DTPBPtr paramBlock)
  1418.  = {0x7028,0xA260}; 
  1419. #pragma parameter __D0 PBDTSetCommentAsync(__A0)
  1420. pascal OSErr PBDTSetCommentAsync(DTPBPtr paramBlock)
  1421.  = {0x7028,0xA660}; 
  1422. pascal OSErr PBDTRemoveComment(DTPBPtr paramBlock,Boolean async); 
  1423. #pragma parameter __D0 PBDTRemoveCommentSync(__A0)
  1424. pascal OSErr PBDTRemoveCommentSync(DTPBPtr paramBlock)
  1425.  = {0x7029,0xA260}; 
  1426. #pragma parameter __D0 PBDTRemoveCommentAsync(__A0)
  1427. pascal OSErr PBDTRemoveCommentAsync(DTPBPtr paramBlock)
  1428.  = {0x7029,0xA660}; 
  1429. pascal OSErr PBDTGetComment(DTPBPtr paramBlock,Boolean async); 
  1430. #pragma parameter __D0 PBDTGetCommentSync(__A0)
  1431. pascal OSErr PBDTGetCommentSync(DTPBPtr paramBlock)
  1432.  = {0x702A,0xA260}; 
  1433. #pragma parameter __D0 PBDTGetCommentAsync(__A0)
  1434. pascal OSErr PBDTGetCommentAsync(DTPBPtr paramBlock)
  1435.  = {0x702A,0xA660}; 
  1436. pascal OSErr PBDTFlush(DTPBPtr paramBlock,Boolean async); 
  1437. #pragma parameter __D0 PBDTFlushSync(__A0)
  1438. pascal OSErr PBDTFlushSync(DTPBPtr paramBlock)
  1439.  = {0x702B,0xA260}; 
  1440. #pragma parameter __D0 PBDTFlushAsync(__A0)
  1441. pascal OSErr PBDTFlushAsync(DTPBPtr paramBlock)
  1442.  = {0x702B,0xA660}; 
  1443. pascal OSErr PBDTReset(DTPBPtr paramBlock,Boolean async); 
  1444. #pragma parameter __D0 PBDTResetSync(__A0)
  1445. pascal OSErr PBDTResetSync(DTPBPtr paramBlock)
  1446.  = {0x702C,0xA260}; 
  1447. #pragma parameter __D0 PBDTResetAsync(__A0)
  1448. pascal OSErr PBDTResetAsync(DTPBPtr paramBlock)
  1449.  = {0x702C,0xA660}; 
  1450. pascal OSErr PBDTGetInfo(DTPBPtr paramBlock,Boolean async); 
  1451. #pragma parameter __D0 PBDTGetInfoSync(__A0)
  1452. pascal OSErr PBDTGetInfoSync(DTPBPtr paramBlock)
  1453.  = {0x702D,0xA260}; 
  1454. #pragma parameter __D0 PBDTGetInfoAsync(__A0)
  1455. pascal OSErr PBDTGetInfoAsync(DTPBPtr paramBlock)
  1456.  = {0x702D,0xA660}; 
  1457. #pragma parameter __D0 PBDTOpenInform(__A0)
  1458. pascal OSErr PBDTOpenInform(DTPBPtr paramBlock)
  1459.  = {0x702E,0xA060}; 
  1460. pascal OSErr PBDTDelete(DTPBPtr paramBlock,Boolean async); 
  1461. #pragma parameter __D0 PBDTDeleteSync(__A0)
  1462. pascal OSErr PBDTDeleteSync(DTPBPtr paramBlock)
  1463.  = {0x702F,0xA060}; 
  1464. #pragma parameter __D0 PBDTDeleteAsync(__A0)
  1465. pascal OSErr PBDTDeleteAsync(DTPBPtr paramBlock)
  1466.  = {0x702F,0xA460}; 
  1467. /*  VolumeMount traps  */
  1468. #pragma parameter __D0 PBGetVolMountInfoSize(__A0)
  1469. pascal OSErr PBGetVolMountInfoSize(ParmBlkPtr paramBlock)
  1470.  = {0x703F,0xA260}; 
  1471. #pragma parameter __D0 PBGetVolMountInfo(__A0)
  1472. pascal OSErr PBGetVolMountInfo(ParmBlkPtr paramBlock)
  1473.  = {0x7040,0xA260}; 
  1474. #pragma parameter __D0 PBVolumeMount(__A0)
  1475. pascal OSErr PBVolumeMount(ParmBlkPtr paramBlock)
  1476.  = {0x7041,0xA260}; 
  1477. /*  FSp traps  */
  1478. pascal OSErr FSMakeFSSpec(short vRefNum,long dirID,ConstStr255Param fileName,
  1479.  FSSpecPtr spec)
  1480.  = {0x303C,0x0001,0xAA52}; 
  1481. pascal OSErr FSpOpenDF(const FSSpec *spec,char permission,short *refNum)
  1482.  = {0x303C,0x0002,0xAA52}; 
  1483. pascal OSErr FSpOpenRF(const FSSpec  *spec,char permission,short *refNum)
  1484.  = {0x303C,0x0003,0xAA52}; 
  1485. pascal OSErr FSpCreate(const FSSpec  *spec,OSType creator,OSType fileType,
  1486.  ScriptCode scriptTag)
  1487.  = {0x303C,0x0004,0xAA52}; 
  1488. pascal OSErr FSpDirCreate(const FSSpec *spec,ScriptCode scriptTag,long *createdDirID)
  1489.  = {0x303C,0x0005,0xAA52}; 
  1490. pascal OSErr FSpDelete(const FSSpec *spec)
  1491.  = {0x303C,0x0006,0xAA52}; 
  1492. pascal OSErr FSpGetFInfo(const FSSpec *spec,FInfo *fndrInfo)
  1493.  = {0x303C,0x0007,0xAA52}; 
  1494. pascal OSErr FSpSetFInfo(const FSSpec *spec,const FInfo *fndrInfo)
  1495.  = {0x303C,0x0008,0xAA52}; 
  1496. pascal OSErr FSpSetFLock(const FSSpec *spec)
  1497.  = {0x303C,0x0009,0xAA52}; 
  1498. pascal OSErr FSpRstFLock(const FSSpec *spec)
  1499.  = {0x303C,0x000A,0xAA52}; 
  1500. pascal OSErr FSpRename(const FSSpec *spec,ConstStr255Param newName)
  1501.  = {0x303C,0x000B,0xAA52}; 
  1502. pascal OSErr FSpCatMove(const FSSpec *source,const FSSpec *dest)
  1503.  = {0x303C,0x000C,0xAA52}; 
  1504. pascal OSErr FSpExchangeFiles(const FSSpec *source,const FSSpec *dest)
  1505.  = {0x303C,0x000F,0xAA52}; 
  1506. /* Obsoolete names for PBGetForeignPrivs and PBSetForeignPrivs */
  1507. pascal OSErr PBGetAltAccess(HParmBlkPtr paramBlock,Boolean async); 
  1508. #pragma parameter __D0 PBGetAltAccessSync(__A0)
  1509. pascal OSErr PBGetAltAccessSync(HParmBlkPtr paramBlock)
  1510.  = {0x7060,0xA060}; 
  1511. #pragma parameter __D0 PBGetAltAccessAsync(__A0)
  1512. pascal OSErr PBGetAltAccessAsync(HParmBlkPtr paramBlock)
  1513.  = {0x7060,0xA460}; 
  1514. pascal OSErr PBSetAltAccess(HParmBlkPtr paramBlock,Boolean async); 
  1515. #pragma parameter __D0 PBSetAltAccessSync(__A0)
  1516. pascal OSErr PBSetAltAccessSync(HParmBlkPtr paramBlock)
  1517.  = {0x7061,0xA060}; 
  1518. #pragma parameter __D0 PBSetAltAccessAsync(__A0)
  1519. pascal OSErr PBSetAltAccessAsync(HParmBlkPtr paramBlock)
  1520.  = {0x7061,0xA460}; 
  1521. #ifdef __cplusplus
  1522. }
  1523. #endif
  1524.  
  1525. #endif
  1526.